home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / cocktail / cg.lha / cg / src / Errors.md < prev    next >
Text File  |  1992-11-24  |  2KB  |  81 lines

  1. (* $Id: Errors.md,v 1.4 1991/11/21 14:33:17 grosch rel $ *)
  2.  
  3. (* $Log: Errors.md,v $
  4.  *)
  5.  
  6. (* Ich, Doktor Josef Grosch, Informatiker, Juli 1992 *)
  7.  
  8. DEFINITION MODULE Errors;
  9.  
  10. FROM SYSTEM    IMPORT ADDRESS;
  11. FROM Positions    IMPORT tPosition;
  12. FROM IO        IMPORT tFile;
  13.  
  14. CONST
  15.    NoText        = 0    ;
  16.    SyntaxError        = 1    ;    (* error codes        *)
  17.    ExpectedTokens    = 2    ;
  18.    RestartPoint        = 3    ;
  19.    TokenInserted    = 4    ;
  20.    WrongParseTable    = 5    ;
  21.    OpenParseTable    = 6    ;
  22.    ReadParseTable    = 7    ;
  23.    TooManyErrors    = 8    ;
  24.  
  25.    Fatal        = 1    ;    (* error classes    *)
  26.    Restriction        = 2    ;
  27.    Error        = 3    ;
  28.    Warning        = 4    ;
  29.    Repair        = 5    ;
  30.    Note            = 6    ;
  31.    Information        = 7    ;
  32.  
  33.    None            = 0    ;
  34.    Integer        = 1    ;    (* info classes        *)
  35.    Short        = 2    ;
  36.    Long            = 3    ;
  37.    Real            = 4    ;
  38.    Boolean        = 5    ;
  39.    Character        = 6    ;
  40.    String        = 7    ;
  41.    Array        = 8    ;
  42.    Set            = 9    ;
  43.    Ident        = 10    ;
  44.  
  45. VAR      Exit        : PROC;
  46.             (* refers to a procedure that specifies        *)
  47.             (* what to do if 'ErrorClass' = Fatal        *)
  48.             (* default: terminate program execution        *)
  49.  
  50. PROCEDURE StoreMessages (Store: BOOLEAN);
  51.             (* messages are stored if 'Store' = TRUE    *)
  52.             (* for printing with the routine 'WriteMessages'*)
  53.             (* otherwise they are printed immediately    *)
  54.             (* if 'Store'=TRUE the message store is cleared    *)
  55.  
  56. PROCEDURE ErrorMessage    (ErrorCode, ErrorClass: CARDINAL; Position: tPosition);
  57.             (* report a message represented by an integer    *)
  58.             (* 'ErrorCode' and classified by 'ErrorClass'    *)
  59.  
  60. PROCEDURE ErrorMessageI    (ErrorCode, ErrorClass: CARDINAL; Position: tPosition;
  61.              InfoClass: CARDINAL; Info: ADDRESS);
  62.             (* like the previous routine with additional    *)
  63.             (* information of type 'InfoClass' at the    *)
  64.             (* address 'Info'                *)
  65.  
  66. PROCEDURE Message  (ErrorText: ARRAY OF CHAR; ErrorClass: CARDINAL; Position: tPosition);
  67.             (* report a message represented by a string    *)
  68.             (* 'ErrorText' and classified by 'ErrorClass'    *)
  69.  
  70. PROCEDURE MessageI (ErrorText: ARRAY OF CHAR; ErrorClass: CARDINAL; Position: tPosition;
  71.              InfoClass: CARDINAL; Info: ADDRESS);
  72.             (* like the previous routine with additional    *)
  73.             (* information of type 'InfoClass' at the    *)
  74.             (* address 'Info'                *)
  75.  
  76. PROCEDURE WriteMessages    (File: tFile);
  77.             (* the stored messages are sorted by their    *)
  78.             (* source position and printed on 'File'    *)
  79.  
  80. END Errors.
  81.